package com.egao.common.module.validate.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.egao.common.core.web.JsonResult;
import com.egao.common.core.web.PageParam;
import com.egao.common.module.cms.entity.Article;
import com.egao.common.module.validate.entity.ValidateRule;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ValidateRuleService extends IService<ValidateRule> {

    /**
     * 对象值验证
     * @param module 对象模块
     * @param object 对象
     * @return 验证错误集合 集合长度=0表示无错误
     */
    JsonResult validate(String module, Object object);

    /**
     * 分页查询验证规则
     * @param pageParam 分页参数
     * @return
     */
    List<ValidateRule> listPage(PageParam<ValidateRule> pageParam);

    /**
     * 添加验证规则
     * @param validateRule
     * @return
     */
    JsonResult insertValidateRule(ValidateRule validateRule);

    /**
     * 修改验证规则
     * @param validateRule
     * @return
     */
    JsonResult updateValidateRule(ValidateRule validateRule);

    /**
     * 删除验证规则
     * @param id
     * @return
     */
    JsonResult deleteValidateRule(Integer id);

    /**
     * 连表查询验证规则以及子项
     * @param id
     * @return
     */
    JsonResult getValidateRuleRelById(Integer id);

}
